package com.example.springstudy.service.pay;

import com.example.springstudy.entity.Sku;

import java.io.IOException;
import java.security.NoSuchAlgorithmException;
import java.util.List;
import java.util.UUID;

public interface PaymentService {

    /**
     * 创建支付订单
     * @param skus 商品
     * @return 支付订单号
     */
    default String createPaymentOrder(List<Sku> skus) throws IOException, NoSuchAlgorithmException {
        UUID uuid = UUID.randomUUID();
        // 将UUID转换为字符串，并去除连字符
        return uuid.toString().replace("-", "");
    }

    /**
     * 处理支付结果
     * @param orderNo 订单号
     * @param paymentResult 支付结果
     * @return 支付是否成功
     */
    boolean processPaymentResult(String orderNo, String paymentResult);

    /**
     * 记录支付日志
     * @param orderNo 订单号
     * @param paymentMethod 支付方式
     * @param status 支付状态
     */
    void logPayment(String orderNo, String paymentMethod, String status);
}
